﻿#region 命名空间

using System;
using System.ComponentModel;
using AutoMapper;

using System.Reflection;
using Sharp.Domain.Events;
using Sharp.Domain.Repositories;
#endregion

namespace Sharp.Application
{
    /// <summary>
    ///     表示应用层服务的抽象类。
    /// </summary>
    public abstract partial class ApplicationService
    {
        #region 私有字段

        private readonly IRepositoryContext _context;

        #endregion

        #region 构造函数

        /// <summary>
        ///     初始化一个<c>ApplicationService</c>类型的实例。
        /// </summary>
        /// <param name="context">用来初始化<c>ApplicationService</c>类型的仓储上下文实例。</param>
        public ApplicationService(IRepositoryContext context)
        {
            _context = context;
        }

        #endregion

        #region 属性

        /// <summary>
        ///     获取当前应用层服务所使用的仓储上下文实例。
        /// </summary>
        protected IRepositoryContext Context
        {
            get { return _context; }
        }

        #endregion
        
    }
}